<template>
	<view>
		<view class="staff-list">
			<view class="list-item" v-for="item in list" :key="item.empID" @click="staffItemClick(item)">
				<view class="item-imgUrl"><img :src="item.empIcon||'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1529382604731&di=6e0415e1f41804a3420d09112f0b9f67&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Felement_origin_min_pic%2F01%2F48%2F88%2F2757444507812f6.jpg'" /></view>
				<view class="item-name">{{item.empName}}</view>
				<view v-if="item.empID==id"  class="item-icon">
					<image src="../../../static/images/saff-img.png"/>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	import { workModule } from "../../../modules/workOrder.js"
	import { mineModule } from '../../../modules/mine.js'
	import { mapState, mapMutations } from 'vuex'
	import util from '../../../utils/util.js'
	
	const Work = new workModule()
	const Mine = new mineModule()
	
	let postData = {}
	
	export default {
		data() {
			return {
				id:'', // 选中人id
				name:'', // 选中人名字
				list: [] // 部门数据列表
			};
		},
		
		
		onLoad(e){ 
			postData = e // 页面参数赋值给 postData
			this._getAssignedData() // 调用获取部门数据方法
		},
		
		onNavigationBarButtonTap() { // 右上角按钮事件
			if(this.id==''){ 
				util.tost('请选择指派人!')
				return
			}
			postData.empID = this.id
			this._postAssigned(postData) // 调用提交指派人方法
		},
		
		methods: {
			...mapMutations(['isUpdate']), // 调用vuex 里的方法
			_getAssignedData() { // 获取 指派部门人员列表数据
				let userData = util.getStorage('userData') // 获取用户信息
				let empID = userData['empID']
				if(empID){ // 判断是否存在 empid
					Work.getEmployeeList(empID).then((res)=>{ //存在执行
						this.list = res
					})
				}else{
					this._getEmpID(userData) // 否则将从调用接口 拿到empid 
				}
			},
			_getEmpID(userData) {
				Mine.getMineData()  // 获取empid 
				.then((res)=>{
					userData.empID = res.empID
					util.setStorage('userData',userData) // 存入 userData 数据里
					console.log(userData)
					return Work.getEmployeeList(res.empID) // 返回 获取部门人员方法
				})
				.then((res)=>{
					this.list = res
				})
			},
			
			staffItemClick(item) { // 选择指派人方法
				this.id = item.empID
				this.name = item.empName
			},
			
			_postAssigned(postData) { // 提交指派人方法
				Work.postAssignTask(postData)
					.then((res)=>{
						uni.showToast({
							title: '指派成功！'
						})
						this.isUpdate() // 将 vuex 里的值 update改为true  , 只有updata值为true时才更新页面 
						setTimeout(()=>{
							uni.navigateBack({
								delta: 2
							})
						},1000)
					})
			}
		}
	}
</script>

<style lang="scss">
	@import "../../../common/scss/common.scss";
	
	
	page{
		background-color: #F7F7F7;
	}
	
	.staff-list {
		margin-top: ws(15);
		background-color: #fff;
		.list-item{
			padding: ws(15);
			display: flex;
			align-items: center;
			border-bottom: 1upx solid #eee;
			position: relative;
			
			.item-imgUrl{
				width: ws(40);
				height: ws(40);
				margin-right: ws(20);
				image{
					width: 100%;
					height: 100%;
					border-radius: 50%;
					box-shadow: 0 0 ws(1) rgba(#000,.3);                }
			}
			.item-icon{
				position: absolute;
				top: 0;
				bottom: 0;
				margin: auto;
				right: ws(15);
				width: ws(40);
				height: ws(40);
				image{
					width: 100%;
					height: 100%;
				}
			}
		}
	}
</style>
